      /***********************************
      1.请写出javascript的三种循环
      ***********************************/
        // for(;;){} (;;)里面一共有三个参数，可写可不写，
        // 第一个参数用来定义控制循环的变量，
        // 第二个参数用来存放循环条件，只有满足条件时，才会进行循环，否则退出循环
        // 第三个参数是循环体内执行完后所要执行的代码，通常是对控制循环变量的操作

        // while(){} ()里面只有一个参数
        // 该参数是用来存放循环条件，只有满足条件时，才会进行循环，否则退出循环

        // do{}while()
        // do{}里面放的是循环体。当代码执行到do-while的时候，会先执行do{}再对while()条件进行判断
        // while(); 里面放的是循环条件，只有满足条件时，才会进行循环，否则退出循环
          /***********************************
            2.请写出break和continue作用和区别
            ***********************************/
          // break 会直接跳出循环，整个循环结束
          // continue 会中断当前的循环，本次循环结束，跳到循环判断
          /***********************************
            3.循环输出1-100 里奇数
            **********************************/
            
            for (let num = 1; num <= 100; num++) {
              if (num % 2 === 1) {
                console.log(num);
              }
            }
        

        /***********************************
          4.有一分数序列：2/1，3/2，5/3，8/5，13/8，21/13...求出这个数列的前20项之和。
          (程序分析：请抓住分子与分母的变化规律。)
          ***********************************/
            var sum = 0;
            var on = 2;//on为分子
            var under = 1;//under//为分母
            for (var i = 1; i <= 20; i++) {
              var res = on / under;//res为当前的数
              var c = on; //c为下一个数的分母
              on = c + under;//更新下一个数的分子 
              under = c;//更新下一个数的分母
                sum += res;
            }
            console.log(sum);

        /***********************************
          5.有一座桥，当你身上所拥有的钱大于30000时，每过一次桥则需要支付3000元。
          当你身上的钱小于或等于30000时，每过一次桥则需要支付你身上10%的钱。已知有一个人身上有33000元，
          问此人能过这座桥多少次之后，身上的钱会少于100块?
          ***********************************/
            let money = 33000;
            let num1 = 0;
            for (; money > 100; ) {
              if (money > 30000) {
                money = money - 3000;
              } else {
                money = money * 0.9;
              }
              num1++;
            }
            console.log(num1);



        /***********************************
          6.小明去存1000钱，每天会产生1%的利息，求问，30天后，小明可以拿回多少钱
          ***********************************/
         
            let money1 = 1000;
            for (let day = 1; day <= 30; day++) {
              money1 = money1 * 1.01;
            }
            console.log(money1);


        /***********************************
          7.小明题目升级版，小明拿着1000块在周一买入基金，一开户立给10块红利，
          逢周六日没有利息，平时利息为1%，请问30天后，小明可以拿回多少钱？
          ***********************************/

            let money2 = 1000 + 10;
            let realDay = (30 % 7) + parseInt(30 / 7) * 5;
            for (let day = 1; day <= realDay; day++) {
              money2 = money2 * 1.01;
            }
            console.log(money2);


        /***********************************
          8.乘法口诀表:
          让学生输出4种方向的乘法口诀表
          ***********************************/

    document.write("<table><tbody>");
    for (let row = 1; row <= 9; row++) {
      document.write("<tr>");
      for (let colum = 1; colum <= row; colum++) {
        document.write(`<td>${colum}*${row}=${colum * row}</td>`);
      }
      document.write("</tr>");
    }
    document.write("</tbody></table>");
    //
    document.write("<br>");
    document.write("<table><tbody>");
    for (let row = 1; row <= 9; row++) {
      document.write("<tr>");
      for (let colum = 9; 10 - colum < row; colum--) {
        document.write("<td></td>");
      }
      for (let colum = 9; colum >= row; colum--) {
        document.write(
          `<td>${row}*${row - colum + 9}=${row - colum + 9 * row}</td>`
        );
      }
      document.write("</tr>");
    }
    document.write("</tbody></table>");
    //
    document.write("<table><tbody>");
    for (let row = 1; row <= 9; row++) {
      document.write("<tr>");
      for (let colum = 9; colum >= row; colum--) {
        document.write(
          `<td>${row}*${row - colum + 9}=${row * (row - colum + 9)}</td>`
        );
      }
      document.write("</tr>");
    }

        /***********************************
          9.给一个不多于5位的正整数，要求：一、求它是几位数，二、逆序打印出各位数字。
          ***********************************/

            let num3 = +prompt("请输入一个不多于5位的整数");
            let div = 0; //div为当前的除数
            let i1;
            let x; //用来计算当前数的位数
            for (i1 = 1; i1 <= 5; i1++) {
              div = Math.pow(10, i); //每次除的数
              if (num3 / div > 1) {
              } else {
                break;
              }
            }
            console.log(`这是一个${i}位数`);
    
            var count = 0;
            var str = "";
            for (let i1 = String(num3).length - 1; i1 >= 0; i1--) {
              str += String(num3)[i1];
            }   
            console.log(Number(str));


        /***********************************
          10.求100个随机数之和，随机数要求为0—9的整数
          ***********************************/

            let sum2 = 0;
            function getRadom(m, n) {
              return Math.floor(Math.random() * (m - n + 1) + n);
            }
            for (let i = 1; i <= 100; i++) {
              sum += getRadom(0, 9);
            }
            console.log(sum2);
        /***********************************
          11.通过键盘输入一个任意的正整数（建议这个数比3大），
          在网页中输出3至这个数之间所有能被3整除的数字。
          ***********************************/
          let num = +prompt("请输入一个大于3的正整数");
          for (let i = 3; i < num; i = i + 3) {
            console.log(i);
          }
        /**********************************************
          12.黑白棋   奇数行 && 奇数列 || 偶数行 && 偶数列
          **********************************************/

            let row = +prompt("请输入行数");
            let colum = +prompt("请输入列数");
            let type = 0; //type用来区分颜色，用1、2表示两种颜色，0为无色
            document.write("<table><tobdy>");
            for (let r = 1; r <= row; r++) {
              document.write("<tr>");
              for (let c = 1; c <= colum; c++) {
                if (r % 2 === 1 && c % 2 === 1) {
                  type = 1;
                  document.write(`<td>${type}</td>`);
                }
                if (r % 2 === 0 && c % 2 === 0) {
                  type = 2;
                  document.write(`<td>${type}</td>`);
                }
                document.write(`<td></td>`);
                type = 0;
              }
              document.write("</tr>");
              }
            document.write("<table><tobdy>");